package flex.cc.system.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import flex.cc.system.entity.DictCodeEntity;
import flex.cc.system.vo.DictCodeVo;
import flex.cc.system.vo.DictOptionVo;

/**
 *
 *
 * @author lmq
 * @email limengqi@sinosoft.com.cn
 * @date 2020-09-18 16:04:05
 */
@Mapper
public interface DictCodeDao extends BaseMapper<DictCodeEntity> {

	/**
	 * 根据页面所传条件查询数据字典类型信息
	 * @param dictCodeEntity
	 * @return
	 */
	List<DictCodeEntity> searchAllCode(@Param("vo") DictCodeEntity dictCodeEntity);
	/**
	 * 查询code-去重
	 * @param dictCodeEntity
	 * @return
	 */
	IPage<DictCodeEntity> getdictCodeList(Page<DictCodeEntity> page, @Param("vo") DictCodeEntity dictCodeEntity);
	List<DictCodeEntity> getdictCodeList(@Param("vo") DictCodeEntity dictCodeEntity);
	Map<String, Object> getdictCodeMap(@Param("vo") DictCodeEntity dictCodeEntity);
	/**
	 * 查询code-去重
	 * @param vo
	 * @return
	 */
	List<DictCodeEntity> getdictCodeList2(@Param("vo") DictCodeVo vo);

	List<Map<String,String>> getdictCodeList3(@Param("vo") DictCodeVo vo);

	/**
	 * 根据type查询数据字典code，用来显示下拉选项
	 * @param dicType
	 * @param validStatus
	 * @return
	 */
	public List<DictOptionVo> getSelectOptions(@Param("dicType") String dicType, @Param("validStatus") String validStatus);

	/**
	 * 查询行政区划下拉选项的值
	 * @param parentId 上级编号
	 * @return
	 */
	public List<DictOptionVo> getAdmOptions(String parentIds);

	/**
	*
	* @author WANGCONG
	* 2021年12月24日下午12:49:12
	* @desc 实体信息获取
	*/
	public DictCodeEntity getOneByParams(@Param("qv") Map<String, Object> params);

	/**
	 * @description 根据参数查询字典数据列表
	 * @param params 查询参数
	 * @return
	 * @author wkangle
	 * @time 2021/12/31 0031 17:06
	 * @exception/throws
	 */
	List<DictCodeEntity> queryDictCodeListByParams(Map<String, Object> params);

	/**
	 * @description 查询卡券节日提示开关
	 * @return
	 * @author wkangle
	 * @time 2022/01/11 0011 14:06
	 * @exception/throws
	*/
	DictCodeEntity queryCouponFestivalTips();

	/**
	 * @description 查询咨询类卡券企业维系
	 * @param
	 * @return
	 * @author wkangle
	 * @time 2022/02/11 0011 13:34
	 * @exception/throws
	 */
	DictCodeEntity queryConsultWorkWeiXin(Map<String, String> params);

	/**
	 * 查询行政区划下拉选项的值
	 * @param level 所属等级
	 * @return
	 */
	List<DictOptionVo> getAdmOptionsByLeval(String level);

}
